#include <bits/stdc++.h>
using namespace std;
using uint=unsigned int;
using ll=long long;
using ull=unsigned long long;
using i128=__int128;
const int N=1e6+5;

int n,m,k,ans;
int dx[]={1,-1,0,0},dy[]={0,0,1,-1};
bool ob[105][105];

void dfs(int x,int y,int s){
    if(s==k+1){
        ans++;
        return;
    }
    for(int i=0;i<4;i++){
        int xx=x+dx[i];
        int yy=y+dy[i];
        if(ob[xx][yy]==0&&1<=xx&&xx<=n&&1<=yy&&yy<=m){
            ob[xx][yy]=1;
            dfs(xx,yy,s+1);
            ob[xx][yy]=0;
        }
    }
    return;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            char ch;
            cin>>ch;
            if(ch=='#')ob[i][j]=1;
            else ob[i][j]=0;
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(ob[i][j]==0){
                ob[i][j]=1;
                dfs(i,j,1);
                ob[i][j]=0;
            }
        }
    }
    cout<<ans<<endl;

    return 0;
}